#!/usr/bin/perl -w

#  FILE:   add-notes.pl
#  AUTHOR: JOSE A. ESQUIVEL
#  DATE:   17/12/2001
#
#  DESCRIPTION: Salva en la base de datos la votacion sobre una anotacion

#inicializar:
require ("init.pl");
require ("dbData.pl");
require ("dbNotes.pl");
require ("dbEvent.pl");
require ("dbOpe.pl");

#imprimir cabecera
&print_header;



#Se define el metdo utilizado para enviar datos
if ('GET' eq $ENV{'REQUEST_METHOD'})
{
  %input = &parse_input;
 
  $dbName        = $input{b};
  $idStructure   = $input{s};
  $idTopic       = $input{t};
  $idDescription = $input{d};

  $idNota        = $input{n};
  $voto          = $input{voto};
}
else
{
  use CGI;
  
  $q = new CGI;
 
  $dbName         = $q->param("b");
  $idStructure    = $q->param("s");
  $idTopic        = $q->param("t");
  $idDescription  = $q->param("d");

  $idNota = $q->param("n");
  $voto   = $q->param("v");
  
  $Login         = $q->param("login");
  $Password      = $q->param("password");

}

#Se obtienen path de imagenes
($dbLenguaje, $IMG) = &get_language($dbName);

%data = &get_data($dbName, "Topic", "idTopic", $idTopic); 
#Se obtiene el nombre del tema en cuestion
$nameTopic = $data{nameTopic.1};
#Se obtiene el URL del tema en cuestion
$URL = $data{URL.1};
#Se obtiene el path de los frames a mostrar
$path = &get_path($URL);

($nota, $nAuthor, $dayN, $idnAuthor) = &traer_nota($dbName, $idNota);

$nombre = "nota" . $idNota;

$titulo = "$nAuthor - $dayN";


$accion = $path . "save-notes.pl";
$URL    = $path . "controlNT.pl";

%textos   = &get_data($dbLenguaje, "MyForm", "name", "\'save-notes.pl\'");

print <<JEOF;
<script language="Javascript">
<!--
    function ShowMsg(txt)
     {
	 if (txt != "")
	 {
	     alert(txt);
	 }
	 return (false);
     }

    function cierra_ventana()
     {
	
	 window.close();
	 return true;
     }

  function Verificar()
     {
	if (document.$nombre.login.value == "")
	{
	    return(ShowMsg("$textos{'inData5'.1}"));
	}
	if (document.$nombre.password.value == "")
	{
	    return(ShowMsg("$textos{'inData6'.1}"));
	}
	
     }

// -->
</script>
JEOF
    ;


print <<EOF1;
    <HTML>
    <HEAD></HEAD>
    <BODY BGCOLOR="#FFFFE0">
         <CENTER>
              <P> <B>$textos{'title'.1} $titulo
         </CENTER><P><P>
EOF1
    ;
if ('GET' eq $ENV{'REQUEST_METHOD'})
{
print <<EOF2;
         <FORM NAME="$nombre" ACTION="$accion" METHOD="POST" ONSUBMIT="return Verificar()">
              <INPUT TYPE="HIDDEN" NAME="b" VALUE="$dbName">
	      <INPUT TYPE="HIDDEN" NAME="s" VALUE="$idStructure">
	      <INPUT TYPE="HIDDEN" NAME="d" VALUE="$idDescription">
	      <INPUT TYPE="HIDDEN" NAME="t" VALUE="$idTopic">
              <INPUT TYPE="HIDDEN" NAME="n" VALUE="$idNota">
              <INPUT TYPE="HIDDEN" NAME="v" VALUE="$voto">
         <TABLE>
              <TR><TD>$textos{'subtitle'.1}  
                  <TD><INPUT TYPE=\"TEXT\"     NAME=\"login\"    SIZE=27  MAXLENGTH=100></TD>
              <TR><TD>$textos{'inData'.1}         
                  <TD><INPUT TYPE=\"PASSWORD\" NAME=\"password\" SIZE=27  MAXLENGTH=100></TD>
         </TABLE>
         <P><P>
         <TABLE>
            <TD><INPUT TYPE="IMAGE" SRC="../$IMG/bSend.gif" BORDER=0>
            <TD><A HREF="#" onClick="cierra_ventana()"><IMG SRC="../$IMG/bCancel.gif" BORDER=0></A>
         </TABLE>
         </FORM>
EOF2
    ;
}
else
{
    #Validando datos de autor
    $CORRECT = 0; $EXIST = 0;
    %dAuthor = &get_data($dbName, "Author", "nameAuthor", "\'$Login\'");
    if ($dAuthor{numRows} > 0)
    {
	#Existe el author
	$EXIST = 1;
	$idAuthor = $dAuthor{'idAuthor'.1};
	if ($dAuthor{'password'.1} eq $Password)
	{
	    $CORRECT = 1;
	}
	
	#Verificando permiso
	$uAuthor = $dAuthor{'typeUser'.1};

	%Usuario = &get_data($dbName, "User", "idUser", "$uAuthor");

	if ($Usuario{'AddDes'.1} ne '1')
	{
	    $EXIST = 0;
	}

	#Traer datos de la Descripcion
	%description = &get_data($dbName, "Description", "idDescription", "$idDescription");
    
	if ($description{"idAuthor".1} == $idAuthor)
	{
	    $EXIST = 0;
	}
    }
    #Se guarda la anotacion en la base de datos
    if ($CORRECT == 1 && $EXIST == 1)
    {
	$t = &vota_anotacion($dbName, $idAuthor, $idNota, $voto, $idTopic, 'OPINION');
        &insert_historic ($dbName, "\'VoteNote\'", $idAuthor, $idTopic, $idDescription, $idNota);

        #Notificacion de evento
	$Datos{Accion} 	= 31;     #Accion 31 es sVoteNote
	$Datos{Autor}		= $idAuthor;
	$Datos{Fecha}		= &get_date();
	$Datos{Valor}           = $voto;
	$Datos{nAutor}          = $idnAuthor;
	$Datos{titulo}          = $titulo;
	$Datos{Tema}            = $idTopic;
	$Datos{Estructura}      = $idStructure;
	$Datos{Descripcion}	= $idDescription;
	
	&notifyEventG ($dbName, %Datos);
	#Fin de notificacion de eventos
	
	$msg   = $textos{'inData2'.1};
	$COLOR = "green"; 
    }
    else
    {
	if ($EXIST == 0)
	{
	    $msg = $textos{'inData3'.1};
	}
	if ($CORRECT == 0)
	{
	    $msg = $textos{'inData4'.1};
	}
	$COLOR = "red";
    }
print <<EOF4
   <FORM NAME"myform" ACTION="$URL" METHOD="POST" TARGET="structure">
              <INPUT TYPE="HIDDEN" NAME="b" VALUE="$dbName">
	      <INPUT TYPE="HIDDEN" NAME="s" VALUE="$idStructure">
	      <INPUT TYPE="HIDDEN" NAME="d" VALUE="$idDescription">
	      <INPUT TYPE="HIDDEN" NAME="t" VALUE="$idTopic">
	<TABLE BORDER=3 WIDTH=100%>
	    <TD ALIGN="CENTER"><FONT COLOR="$COLOR"><b>$msg</b>
        </TABLE>
        <p><CENTER><INPUT TYPE="IMAGE" SRC="../$IMG/bSend.gif" onClick="cierra_ventana()"></CENTER>
    </FORM>
EOF4
    ;
}
print "</BODY></HTML>";

